From 661f24736bff472fe8f59edf5e28f3e1aa2c52dd Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 23 Apr 2013 08:48:27 -0400 Subject: [PATCH] widget-factory: Add new widgets Add GtkStack and GtkRevealer to the second page in gtk3-widget-factory. --- demos/widget-factory/widget-factory.c | 38 ++++++ demos/widget-factory/widget-factory.ui | 173 +++++++++++++++++++++++-- 2 files changed, 197 insertions(+), 14 deletions(-) diff --git a/demos/widget-factory/widget-factory.c b/demos/widget-factory/widget-factory.c index 84ead9749d..f04a2c3190 100644 --- a/demos/widget-factory/widget-factory.c +++ b/demos/widget-factory/widget-factory.c @@ -78,6 +78,35 @@ on_page_toggled (GtkToggleButton *button, gtk_notebook_set_current_page (pages, page); } +static void +spin_value_changed (GtkAdjustment *adjustment, GtkWidget *label) +{ + GtkWidget *w; + gint v; + gchar *text; + + v = (int)gtk_adjustment_get_value (adjustment); + + if ((v % 3) == 0) + { + text = g_strdup_printf ("%d is a multiple of 3", v); + gtk_label_set_label (GTK_LABEL (label), text); + g_free (text); + } + + w = gtk_widget_get_ancestor (label, GTK_TYPE_REVEALER); + gtk_revealer_set_reveal_child (GTK_REVEALER (w), (v % 3) == 0); +} + +static void +dismiss (GtkWidget *button) +{ + GtkWidget *w; + + w = gtk_widget_get_ancestor (button, GTK_TYPE_REVEALER); + gtk_revealer_set_reveal_child (GTK_REVEALER (w), FALSE); +} + int main (int argc, char *argv[]) { @@ -86,6 +115,7 @@ main (int argc, char *argv[]) GtkWidget *widget; GtkWidget *notebook; gboolean dark = FALSE; + GtkAdjustment *adj; gtk_init (&argc, &argv); @@ -114,6 +144,14 @@ main (int argc, char *argv[]) widget = (GtkWidget*) gtk_builder_get_object (builder, "aboutmenuitem"); g_signal_connect (widget, "activate", G_CALLBACK (show_about), window); + widget = (GtkWidget*) gtk_builder_get_object (builder, "page2dismiss"); + g_signal_connect (widget, "clicked", G_CALLBACK (dismiss), NULL); + + widget = (GtkWidget*) gtk_builder_get_object (builder, "page2note"); + adj = (GtkAdjustment *) gtk_builder_get_object (builder, "adjustment2"); + g_signal_connect (adj, "value-changed", + G_CALLBACK (spin_value_changed), widget); + g_object_unref (G_OBJECT (builder)); gtk_widget_show (window); diff --git a/demos/widget-factory/widget-factory.ui b/demos/widget-factory/widget-factory.ui index b76e04e8d4..dce0d0eb8a 100644 --- a/demos/widget-factory/widget-factory.ui +++ b/demos/widget-factory/widget-factory.ui @@ -54,6 +54,23 @@ Vestibulum in tortor diam, quis aliquet quam. Praesent ut justo neque, tempus ru Duis eu lectus quam. Vivamus eget metus a mauris molestie venenatis pulvinar eleifend nisi. Nulla facilisi. Pellentesque at dolor sit amet purus dapibus pulvinar molestie quis neque. Suspendisse feugiat quam quis dolor accumsan cursus. + + + * Translation updates: + Aragonese + Assamese + Basque + Brazilian Portuguese + Dutch + German + Hebrew + Hungarian + Polish + Portuguese + Serbian + Slovenian + Spanish + Uyghur @@ -2146,30 +2163,158 @@ Suspendisse feugiat quam quis dolor accumsan cursus. - + True - vertical - 6 - 6 + + + True + center + start + + + True + 2 + + + True + 10 + 10 + 10 + 10 + 20 + + + True + True + start + NEWS! + + + + + True + + + True + window-close-symbolic + 0 + + + + + + + + + + - + True - horizontal - 4 + True + 6 + 6 + 6 - + + True + horizontal + 4 + + + True + vertical + adjustment2 + + + + + True + False + vertical + adjustment1 + + + + + 0 + 0 + + + + True - vertical - adjustment2 + + 1 + 0 + - + True - False - vertical - adjustment1 + + 2 + 0 + + + + + True + stack + center + + + 0 + 1 + + + + + True + False + + + True + crossfade + 1000 + + + True + none + + + True + True + textbuffer2 + + + + + page1 + document-open-recent-symbolic + News + + + + + True + /logos/gtk-logo-256.png + + + page2 + system-shutdown-symbolic + Logo + + + + + + + 0 + 2 + -- 2.30.2